package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-财务-应付票据结算单对象 erp_king_finance_pay_settlement_bill_info
 *
 * @author wutao
 * @date 2024-06-22
 */
@TableName ( "erp_king_finance_pay_settlement_bill_info" )
@ApiModel ( value = "erp_king_finance_pay_settlement_bill_info对象", description = "金蝶-财务-应付票据结算单" )
@Data
public class KingFinancePaySettlementBillEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    /**
     * 应付票据Id,dialog走接口
     */
    @ApiModelProperty ( "所属公司" )
    @TableField ( "dept_id" )
    @Excel ( name = "所属公司" )
    private String deptId;

    /**
     * 应付票据Id,dialog走接口
     */
    @ApiModelProperty ( "应付票据Id,dialog走接口" )
    @TableField ( "pay_bill_id" )
    @Excel ( name = "应付票据Id,dialog走接口" )
    private String payBillId;

    /**
     * 付款单Id,dialog走接口
     */
    @ApiModelProperty ( "付款单Id,dialog走接口" )
    @TableField ( "pay_id" )
    @Excel ( name = "付款单Id,dialog走接口" )
    private String payId;

    @ApiModelProperty ( "业务日期" )
    @TableField ( "biz_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    private Date bizTime;

    /**
     * 币别Id,使用应付票据的
     */
    @ApiModelProperty ( "币别Id,使用应付票据的" )
    @TableField ( "base_currency_id" )
    @Excel ( name = "币别Id,使用应付票据的" )
    private String baseCurrencyId;

    /**
     * 本币别Id,使用应付票据的
     */
    @ApiModelProperty ( "本币别Id,使用应付票据的" )
    @TableField ( "own_base_currency_id" )
    @Excel ( name = "本币别Id,使用应付票据的" )
    private String ownBaseCurrencyId;

    /**
     * 付款日期
     */
    @ApiModelProperty ( "付款日期" )
    @TableField ( "pay_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    @Excel ( name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd" )
    private Date payTime;

    /**
     * 汇率类型,dialog走接口
     */
    @ApiModelProperty ( "汇率类型,dialog走接口" )
    @TableField ( "rate_type" )
    @Excel ( name = "汇率类型,dialog走接口" )
    private String rateType;

    /**
     * 付款银行Id,dialog走接口
     */
    @ApiModelProperty ( "付款银行Id,dialog走接口" )
    @TableField ( "pay_bank_id" )
    @Excel ( name = "付款银行Id,dialog走接口" )
    private String payBankId;

    /**
     * 汇率
     */
    @ApiModelProperty ( "汇率" )
    @TableField ( "rate" )
    @Excel ( name = "汇率" )
    private String rate;

    /**
     * 保证金账号,dialog走接口
     */
    @ApiModelProperty ( "保证金账号,dialog走接口" )
    @TableField ( "bond_account" )
    @Excel ( name = "保证金账号,dialog走接口" )
    private String bondAccount;

    /**
     * 利息
     */
    @ApiModelProperty ( "利息" )
    @TableField ( "interest" )
    @Excel ( name = "利息" )
    private String interest;

    /**
     * 费用
     */
    @ApiModelProperty ( "费用" )
    @TableField ( "cost_money" )
    @Excel ( name = "费用" )
    private String costMoney;

    /**
     * 一般存款账号
     */
    @ApiModelProperty ( "一般存款账号" )
    @TableField ( "general_account" )
    @Excel ( name = "一般存款账号" )
    private String generalAccount;

    /**
     * 实付金额
     */
    @ApiModelProperty ( "实付金额" )
    @TableField ( "actual_money" )
    @Excel ( name = "实付金额" )
    private String actualMoney;

    /**
     * 保证金账户支付金额
     */
    @ApiModelProperty ( "保证金账户支付金额" )
    @TableField ( "bond_pay_money" )
    @Excel ( name = "保证金账户支付金额" )
    private String bondPayMoney;

    /**
     * 票面金额
     */
    @ApiModelProperty ( "票面金额" )
    @TableField ( "face_amount" )
    @Excel ( name = "票面金额" )
    private String faceAmount;

    /**
     * 一般账户支付金额
     */
    @ApiModelProperty ( "一般账户支付金额" )
    @TableField ( "general_pay_money" )
    @Excel ( name = "一般账户支付金额" )
    private String generalPayMoney;

    /**
     * 未付款票面金额
     */
    @ApiModelProperty ( "未付款票面金额" )
    @TableField ( "unpaid_face_money" )
    @Excel ( name = "未付款票面金额" )
    private String unpaidFaceMoney;

    /**
     * 本次付款票面金额
     */
    @ApiModelProperty ( "本次付款票面金额" )
    @TableField ( "current_pay_face_money" )
    @Excel ( name = "本次付款票面金额" )
    private String currentPayFaceMoney;

    @ApiModelProperty ( "退票金额" )
    @TableField ( "refund_amount" )
    private String refundAmount;

    /**
     * 结算号
     */
    @ApiModelProperty ( "结算号" )
    @TableField ( "settlement_no" )
    @Excel ( name = "结算号" )
    private String settlementNo;

    /**
     * 单据类型,dialog走接口
     */
    @ApiModelProperty ( "单据类型编码" )
    @TableField ( "doc_type_code" )
    @Excel ( name = "单据类型,dialog走接口" )
    private String docTypeCode;

    /**
     * 付款组织Id,当前登录公司Id
     */
    @ApiModelProperty ( "付款组织Id,当前登录公司Id" )
    @TableField ( "pay_dept_id" )
    @Excel ( name = "付款组织Id,当前登录公司Id" )
    private String payDeptId;

    @ApiModelProperty ( "结算组织" )
    @TableField ( "settlement_dept_id" )
    @Excel ( name = "结算组织" )
    private String settlementDeptId;

    /**
     * 票据类型,取应付票据该值
     */
    @ApiModelProperty ( "票据类型,取应付票据该值" )
    @TableField ( "bill_type" )
    @Excel ( name = "票据类型,取应付票据该值" )
    private String billType;

    /**
     * 往来单位类型,select走字典
     */
    @ApiModelProperty ( "往来单位类型,select走字典" )
    @TableField ( "transaction_company_type" )
    @Excel ( name = "往来单位类型,select走字典" )
    private String transactionCompanyType;

    /**
     * 往来单位Id,走接口
     */
    @ApiModelProperty ( "往来单位Id,走接口" )
    @TableField ( "transaction_company_id" )
    @Excel ( name = "往来单位Id,走接口" )
    private String transactionCompanyId;

    /**
     * 票据号，取应付票据该值
     */
    @ApiModelProperty ( "票据号，取应付票据该值" )
    @TableField ( "bill_no" )
    @Excel ( name = "票据号，取应付票据该值" )
    private String billNo;

    /**
     * 票据流水号，取应付票据该值
     */
    @ApiModelProperty ( "票据流水号，取应付票据该值" )
    @TableField ( "bill_serial_no" )
    @Excel ( name = "票据流水号，取应付票据该值" )
    private String billSerialNo;

    /**
     * 数据状态,select走字典
     */
    @ApiModelProperty ( "数据状态,select走字典" )
    @TableField ( "data_status" )
    @Excel ( name = "数据状态,select走字典" )
    private String dataStatus;

    /**
     * 备注
     */
    @ApiModelProperty ( "备注" )
    @TableField ( "remarks" )
    @Excel ( name = "备注" )
    private String remarks;

    @ApiModelProperty ( "创建人" )
    @TableField ( "create_by" )
    private String createBy;

    @ApiModelProperty ( "创建时间" )
    @TableField ( "create_time" )
    private Date createTime;

    @ApiModelProperty ( "更新人" )
    @TableField ( "update_by" )
    private String updateBy;

    @ApiModelProperty ( "更新时间" )
    @TableField ( "update_time" )
    private Date updateTime;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "备注" )
    @TableField ( "is_used" )
    @Excel ( name = "备注" )
    private Integer isUsed;

    @ApiModelProperty ( "应付票据，退票时选择的退票单据类型" )
    @TableField ( exist = false )
    private String billTypeCode;

    @ApiModelProperty ( "应付票据，退票时选择的退票单据类型" )
    @TableField ( exist = false )
    private String billTypeName;

    @ApiModelProperty ( "币别" )
    @TableField ( exist = false )
    private String kingBaseCurrencyName;

    @ApiModelProperty ( "承兑人名称" )
    @TableField ( exist = false )
    private String acceptanceBankName;

    @ApiModelProperty ( "付款银行名称" )
    @TableField ( exist = false )
    private String payBankName;

    @ApiModelProperty ( "往来单位名称" )
    @TableField ( exist = false )
    private String transactionCompanyName;

    @ApiModelProperty ( "应付票据包号" )
    @TableField ( exist = false )
    private String billPackNo;

    @ApiModelProperty ( "单据类型名称" )
    @TableField ( exist = false )
    private String docTypeName;

    @ApiModelProperty ( "结算组织名称" )
    @TableField ( exist = false )
    private String settlementDeptName;

    @ApiModelProperty ( "付款组织名称" )
    @TableField ( exist = false )
    private String payDeptName;

    @ApiModelProperty ( "到期日" )
    @TableField ( exist = false )
    private String dueTime;



}
